package com.plian.system.service.pm.propertytransaction;


import com.plian.Tools.pagedata.PageData;
import com.plian.system.entity.pm.propertytransaction.PropertyTransaction;
import com.plian.system.model.ListResult;
import com.plian.system.model.ObjResult;
import com.plian.system.model.R;
import com.plian.system.mybatis.base.BaseService;
import com.plian.system.vo.pm.propertytransaction.PropertyTransactionVO;

import javax.servlet.http.HttpServletResponse;
import java.io.File;

/**
 * 产权交易备案主表 服务类
 */
public interface IPropertyTransactionService extends BaseService<PropertyTransaction> {


    /**
     * 校验唯一
     *
     * @param id   主键
     * @param code 编号
     * @return 错误明细
     */
    Boolean checkIsExisted(Long id, String code);

    ObjResult checkSubmit(PropertyTransaction propertyTransaction);

    R<PropertyTransactionVO> getDetailObj(PropertyTransactionVO propertyTransactionVO);

    PropertyTransactionVO setChild(PropertyTransactionVO propertyTransactionVO);

    Boolean saveChild(PropertyTransactionVO propertyTransactionVO);

    ListResult<PageData> reportList(PageData pd);

    /**
     * 审核
     *
     * @param id 主键
     * @return boolean
     */
    Boolean finish(String id);

    /**
     * 下载doc
     *
     * @param id
     * @return
     */
    File buildword(String id, HttpServletResponse response);

    File createReceptFile(Long id);

    ObjResult propertyTable(PageData pd);

    /**
     *
     * @param propertyTransactionVO
     * @return
     */
    ObjResult submit(PropertyTransactionVO propertyTransactionVO);

    /**
     * 同步数字宁波数据
     *
     * @param s
     * @return
     */
    String savePropertyTransactionServiceList(String s);

}
